Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / Sideband.git / files / sbapp / patches / PythonActivity.java

Displaying Raw • Download


sbapp/patches/PythonActivity.java 2.0.1 (486a97e4) Text, 26.01 KB

Tff7b72package T7ee787org.kivy.androidTb4b4b4;

Tff7b72import T7ee787java.io.InputStreamTb4b4b4;
Tff7b72import T7ee787java.io.FileWriterTb4b4b4;
Tff7b72import T7ee787java.io.FileTb4b4b4;
Tff7b72import T7ee787java.io.IOExceptionTb4b4b4;
Tff7b72import T7ee787java.lang.reflect.InvocationTargetExceptionTb4b4b4;
Tff7b72import T7ee787java.util.ArrayListTb4b4b4;
Tff7b72import T7ee787java.util.CollectionsTb4b4b4;
Tff7b72import T7ee787java.util.IteratorTb4b4b4;
Tff7b72import T7ee787java.util.ListTb4b4b4;
Tff7b72import T7ee787java.util.TimerTb4b4b4;
Tff7b72import T7ee787java.util.TimerTaskTb4b4b4;

Tff7b72import T7ee787android.app.ActivityTb4b4b4;
Tff7b72import T7ee787android.content.ContextTb4b4b4;
Tff7b72import T7ee787android.content.IntentTb4b4b4;
Tff7b72import T7ee787android.content.pm.ActivityInfoTb4b4b4;
Tff7b72import T7ee787android.content.pm.PackageManagerTb4b4b4;
Tff7b72import T7ee787android.graphics.BitmapTb4b4b4;
Tff7b72import T7ee787android.graphics.BitmapFactoryTb4b4b4;
Tff7b72import T7ee787android.graphics.ColorTb4b4b4;
Tff7b72import T7ee787android.graphics.PixelFormatTb4b4b4;
Tff7b72import T7ee787android.os.AsyncTaskTb4b4b4;
Tff7b72import T7ee787android.os.BundleTb4b4b4;
Tff7b72import T7ee787android.os.PowerManagerTb4b4b4;
Tff7b72import T7ee787android.util.LogTb4b4b4;
Tff7b72import T7ee787android.view.inputmethod.InputMethodManagerTb4b4b4;
Tff7b72import T7ee787android.view.SurfaceViewTb4b4b4;
Tff7b72import T7ee787android.view.ViewGroupTb4b4b4;
Tff7b72import T7ee787android.view.ViewTb4b4b4;
Tff7b72import T7ee787android.widget.ImageViewTb4b4b4;
Tff7b72import T7ee787android.widget.ToastTb4b4b4;
Tff7b72import T7ee787android.content.res.Resources.NotFoundExceptionTb4b4b4;

Tff7b72import T7ee787org.libsdl.app.SDLActivityTb4b4b4;

Tff7b72import T7ee787org.kivy.android.launcher.ProjectTb4b4b4;

Tff7b72import T7ee787org.renpy.android.ResourceManagerTb4b4b4;

Tff7b72import T7ee787android.content.res.ConfigurationTb4b4b4;
Tff7b72import T7ee787java.lang.reflect.FieldTb4b4b4;
Tff7b72import T7ee787java.lang.ClassTb4b4b4;

Tff7b72public Tff7b72class T56d364PythonActivity Tff7b72extends Te6edf3SDLActivity Tb4b4b4{
Tff7b72private Tff7b72static Tff7b72final Te6edf3String Te6edf3TAG Tff7b72= Ta5d6ff"Ta5d6ffPythonActivityTa5d6ff"Tb4b4b4;

Tff7b72public Tff7b72static Te6edf3PythonActivity Te6edf3mActivity Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72public Tffa657boolean Te6edf3activityPaused Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72public Tffa657boolean Te6edf3inDesktopMode Tff7b72= Tff7b72falseTb4b4b4;

Tff7b72private Te6edf3ResourceManager Te6edf3resourceManager Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72private Te6edf3Bundle Te6edf3mMetaData Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72private Te6edf3PowerManagerTb4b4b4.Te6edf3WakeLock Te6edf3mWakeLock Tff7b72= Tff7b72nullTb4b4b4;

Tff7b72public Te6edf3Intent Te6edf3startIntent Tff7b72= Tff7b72nullTb4b4b4;

Tff7b72public Te6edf3String Td2a8ffgetAppRootTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3String Te6edf3app_root Tff7b72= Te6edf3getFilesDirTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getAbsolutePathTb4b4b4(Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff/appTa5d6ff"Tb4b4b4;
Tff7b72return Te6edf3app_rootTb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonCreateTb4b4b4(Te6edf3Bundle Te6edf3savedInstanceStateTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{ Tff7b72thisTb4b4b4.Te6edf3startIntent Tff7b72= Te6edf3getIntentTb4b4b4(Tb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72catch Tb4b4b4(Te6edf3Exception Te6edf3eTb4b4b4) Tb4b4b4{ Te6edf3LogTb4b4b4.Te6edf3eTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffFailed to get pending intent on activity createTa5d6ff"Tb4b4b4)Tb4b4b4; Tb4b4b4}
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffPythonActivity onCreate runningTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3resourceManager Tff7b72= Tff7b72new Te6edf3ResourceManagerTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;

Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffAbout to do super onCreateTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72superTb4b4b4.Te6edf3onCreateTb4b4b4(Te6edf3savedInstanceStateTb4b4b4)Tb4b4b4;
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffDid super onCreateTa5d6ff"Tb4b4b4)Tb4b4b4;

Tff7b72thisTb4b4b4.Te6edf3mActivity Tff7b72= Tff7b72thisTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3showLoadingScreenTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3getLoadingScreenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;

Tff7b72try Tb4b4b4{
Te6edf3Configuration Te6edf3config Tff7b72= Te6edf3getResourcesTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getConfigurationTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3Class Te6edf3configClass Tff7b72= Te6edf3configTb4b4b4.Te6edf3getClassTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72ifTb4b4b4(Te6edf3configClassTb4b4b4.Te6edf3getFieldTb4b4b4(Ta5d6ff"Ta5d6ffSEM_DESKTOP_MODE_ENABLEDTa5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3getIntTb4b4b4(Te6edf3configClassTb4b4b4) Tff7b72=Tff7b72= Te6edf3configClassTb4b4b4.Te6edf3getFieldTb4b4b4(Ta5d6ff"Ta5d6ffsemDesktopModeEnabledTa5d6ff"Tb4b4b4)Tb4b4b4.Te6edf3getIntTb4b4b4(Te6edf3configTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3inDesktopMode Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72catch Tb4b4b4(Te6edf3NoSuchFieldException Te6edf3eTb4b4b4) Tb4b4b4{ T8b949e/* Pass */ Tb4b4b4}
Tff7b72catch Tb4b4b4(Te6edf3IllegalAccessException Te6edf3eTb4b4b4) Tb4b4b4{ T8b949e/* Pass */ Tb4b4b4}
Tff7b72catch Tb4b4b4(Te6edf3IllegalArgumentException Te6edf3eTb4b4b4) Tb4b4b4{ T8b949e/* pass */ Tb4b4b4}
Tff7b72catch Tb4b4b4(Te6edf3Exception Te6edf3eTb4b4b4) Tb4b4b4{ Te6edf3LogTb4b4b4.Te6edf3eTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffCould not determine desktop mode statusTa5d6ff"Tb4b4b4)Tb4b4b4; Tb4b4b4}

Tff7b72new Te6edf3UnpackFilesTaskTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3executeTb4b4b4(Te6edf3getAppRootTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tffa657void Td2a8ffloadLibrariesTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3String Te6edf3app_root Tff7b72= Tff7b72new Te6edf3StringTb4b4b4(Te6edf3getAppRootTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3File Te6edf3app_root_file Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Te6edf3app_rootTb4b4b4)Tb4b4b4;
Te6edf3PythonUtilTb4b4b4.Te6edf3loadLibrariesTb4b4b4(Te6edf3app_root_fileTb4b4b4,
Tff7b72new Te6edf3FileTb4b4b4(Te6edf3getApplicationInfoTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3nativeLibraryDirTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e/**
* Show an error using a toast. (Only makes sense from non-UI
* threads.)
*/
Tff7b72public Tffa657void Td2a8fftoastErrorTb4b4b4(Tff7b72final Te6edf3String Te6edf3msgTb4b4b4) Tb4b4b4{

Tff7b72final Te6edf3Activity Te6edf3thisActivity Tff7b72= Tff7b72thisTb4b4b4;

Te6edf3runOnUiThreadTb4b4b4(Tff7b72new Te6edf3Runnable Tb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72public Tffa657void Td2a8ffrunTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3ToastTb4b4b4.Te6edf3makeTextTb4b4b4(Te6edf3thisActivityTb4b4b4, Te6edf3msgTb4b4b4, Te6edf3ToastTb4b4b4.Te6edf3LENGTH_LONGTb4b4b4)Tb4b4b4.Te6edf3showTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;

T8b949e// Wait to show the error.
Tff7b72synchronized Tb4b4b4(Tff7b72thisTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3waitTb4b4b4(T79c0ff1000Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3InterruptedException Te6edf3eTb4b4b4) Tb4b4b4{
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tff7b72private Tff7b72class T56d364UnpackFilesTask Tff7b72extends Te6edf3AsyncTaskTff7b72<Te6edf3StringTb4b4b4, Te6edf3VoidTb4b4b4, Te6edf3StringTff7b72> Tb4b4b4{
Tf0883e@Override
Tff7b72protected Te6edf3String Td2a8ffdoInBackgroundTb4b4b4(Te6edf3StringTb4b4b4.Tb4b4b4.Tb4b4b4. Te6edf3paramsTb4b4b4) Tb4b4b4{
Te6edf3File Te6edf3app_root_file Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Te6edf3paramsTff7b72[T79c0ff0Tff7b72]Tb4b4b4)Tb4b4b4;
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffReady to unpackTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3PythonUtilTb4b4b4.Te6edf3unpackAssetTb4b4b4(Te6edf3mActivityTb4b4b4, Ta5d6ff"Ta5d6ffprivateTa5d6ff"Tb4b4b4, Te6edf3app_root_fileTb4b4b4, Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3PythonUtilTb4b4b4.Te6edf3unpackPyBundleTb4b4b4(Te6edf3mActivityTb4b4b4, Te6edf3getApplicationInfoTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3nativeLibraryDir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Ta5d6ff"Ta5d6fflibpybundleTa5d6ff"Tb4b4b4, Te6edf3app_root_fileTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72nullTb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonPostExecuteTb4b4b4(Te6edf3String Te6edf3resultTb4b4b4) Tb4b4b4{
T8b949e// Figure out the directory where the game is. If the game was
T8b949e// given to us via an intent, then we use the scheme-specific
T8b949e// part of that intent to determine the file to launch. We
T8b949e// also use the android.txt file to determine the orientation.
T8b949e//
T8b949e// Otherwise, we use the public data, if we have it, or the
T8b949e// private data if we do not.
Te6edf3mActivityTb4b4b4.Te6edf3finishLoadTb4b4b4(Tb4b4b4)Tb4b4b4;

T8b949e// finishLoad called setContentView with the SDL view, which
T8b949e// removed the loading screen. However, we still need it to
T8b949e// show until the app is ready to render, so pop it back up
T8b949e// on top of the SDL view.
Te6edf3mActivityTb4b4b4.Te6edf3showLoadingScreenTb4b4b4(Te6edf3getLoadingScreenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;

Te6edf3String Te6edf3app_root_dir Tff7b72= Te6edf3getAppRootTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3getIntentTb4b4b4(Tb4b4b4) Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3getIntentTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getActionTb4b4b4(Tb4b4b4) Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72&
Te6edf3getIntentTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getActionTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3equalsTb4b4b4(Ta5d6ff"Ta5d6fforg.kivy.LAUNCHTa5d6ff"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3File Te6edf3path Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Te6edf3getIntentTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getDataTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getSchemeSpecificPartTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;

Te6edf3Project Te6edf3p Tff7b72= Te6edf3ProjectTb4b4b4.Te6edf3scanDirectoryTb4b4b4(Te6edf3pathTb4b4b4)Tb4b4b4;
Te6edf3String Te6edf3entry_point Tff7b72= Te6edf3getEntryPointTb4b4b4(Te6edf3pTb4b4b4.Te6edf3dirTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_ENTRYPOINTTa5d6ff"Tb4b4b4, Te6edf3pTb4b4b4.Te6edf3dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3entry_pointTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_ARGUMENTTa5d6ff"Tb4b4b4, Te6edf3pTb4b4b4.Te6edf3dirTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_APP_PATHTa5d6ff"Tb4b4b4, Te6edf3pTb4b4b4.Te6edf3dirTb4b4b4)Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3p Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3pTb4b4b4.Te6edf3landscapeTb4b4b4) Tb4b4b4{
Te6edf3setRequestedOrientationTb4b4b4(Te6edf3ActivityInfoTb4b4b4.Te6edf3SCREEN_ORIENTATION_LANDSCAPETb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3setRequestedOrientationTb4b4b4(Te6edf3ActivityInfoTb4b4b4.Te6edf3SCREEN_ORIENTATION_PORTRAITTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

T8b949e// Let old apps know they started.
Tff7b72try Tb4b4b4{
Te6edf3FileWriter Te6edf3f Tff7b72= Tff7b72new Te6edf3FileWriterTb4b4b4(Tff7b72new Te6edf3FileTb4b4b4(Te6edf3pathTb4b4b4, Ta5d6ff"Ta5d6ff.launchTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3fTb4b4b4.Te6edf3writeTb4b4b4(Ta5d6ff"Ta5d6ffstartedTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3fTb4b4b4.Te6edf3closeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3IOException Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// pass
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3String Te6edf3entry_point Tff7b72= Te6edf3getEntryPointTb4b4b4(Te6edf3app_root_dirTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_ENTRYPOINTTa5d6ff"Tb4b4b4, Te6edf3entry_pointTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_ARGUMENTTa5d6ff"Tb4b4b4, Te6edf3app_root_dirTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_APP_PATHTa5d6ff"Tb4b4b4, Te6edf3app_root_dirTb4b4b4)Tb4b4b4;
Tb4b4b4}

Te6edf3String Te6edf3mFilesDirectory Tff7b72= Te6edf3mActivityTb4b4b4.Te6edf3getFilesDirTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getAbsolutePathTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffSetting env vars for start.c and Python to useTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_PRIVATETa5d6ff"Tb4b4b4, Te6edf3mFilesDirectoryTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffANDROID_UNPACKTa5d6ff"Tb4b4b4, Te6edf3app_root_dirTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffPYTHONHOMETa5d6ff"Tb4b4b4, Te6edf3app_root_dirTb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffPYTHONPATHTa5d6ff"Tb4b4b4, Te6edf3app_root_dir Tff7b72+ Ta5d6ff"Ta5d6ff:Ta5d6ff" Tff7b72+ Te6edf3app_root_dir Tff7b72+ Ta5d6ff"Ta5d6ff/libTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3SDLActivityTb4b4b4.Te6edf3nativeSetenvTb4b4b4(Ta5d6ff"Ta5d6ffPYTHONOPTIMIZETa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff2Ta5d6ff"Tb4b4b4)Tb4b4b4;

Tff7b72try Tb4b4b4{
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffAccess to our meta-data...Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3mActivityTb4b4b4.Te6edf3mMetaData Tff7b72= Te6edf3mActivityTb4b4b4.Te6edf3getPackageManagerTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getApplicationInfoTb4b4b4(
Te6edf3mActivityTb4b4b4.Te6edf3getPackageNameTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3PackageManagerTb4b4b4.Te6edf3GET_META_DATATb4b4b4)Tb4b4b4.Te6edf3metaDataTb4b4b4;

Te6edf3PowerManager Te6edf3pm Tff7b72= Tb4b4b4(Te6edf3PowerManagerTb4b4b4) Te6edf3mActivityTb4b4b4.Te6edf3getSystemServiceTb4b4b4(Te6edf3ContextTb4b4b4.Te6edf3POWER_SERVICETb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4( Te6edf3mActivityTb4b4b4.Te6edf3mMetaDataTb4b4b4.Te6edf3getIntTb4b4b4(Ta5d6ff"Ta5d6ffwakelockTa5d6ff"Tb4b4b4) Tff7b72=Tff7b72= T79c0ff1 Tb4b4b4) Tb4b4b4{
Te6edf3mActivityTb4b4b4.Te6edf3mWakeLock Tff7b72= Te6edf3pmTb4b4b4.Te6edf3newWakeLockTb4b4b4(Te6edf3PowerManagerTb4b4b4.Te6edf3SCREEN_BRIGHT_WAKE_LOCKTb4b4b4, Ta5d6ff"Ta5d6ffScreen OnTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3mActivityTb4b4b4.Te6edf3mWakeLockTb4b4b4.Te6edf3acquireTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4( Te6edf3mActivityTb4b4b4.Te6edf3mMetaDataTb4b4b4.Te6edf3getIntTb4b4b4(Ta5d6ff"Ta5d6ffsurface.transparentTa5d6ff"Tb4b4b4) Tff7b72!Tff7b72= T79c0ff0 Tb4b4b4) Tb4b4b4{
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffSurface will be transparent.Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3getSurfaceTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3setZOrderOnTopTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3getSurfaceTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getHolderTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3setFormatTb4b4b4(Te6edf3PixelFormatTb4b4b4.Te6edf3TRANSPARENTTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3LogTb4b4b4.Te6edf3iTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffSurface will NOT be transparentTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3PackageManagerTb4b4b4.Te6edf3NameNotFoundException Te6edf3eTb4b4b4) Tb4b4b4{
Tb4b4b4}

T8b949e// Launch app if that hasn't been done yet:
Tff7b72if Tb4b4b4(Te6edf3mActivityTb4b4b4.Te6edf3mHasFocus Tff7b72&Tff7b72& Tb4b4b4(
T8b949e// never went into proper resume state:
Te6edf3mActivityTb4b4b4.Te6edf3mCurrentNativeState Tff7b72=Tff7b72= Te6edf3NativeStateTb4b4b4.Te6edf3INIT Tff7b72|Tff7b72|
Tb4b4b4(
T8b949e// resumed earlier but wasn't ready yet
Te6edf3mActivityTb4b4b4.Te6edf3mCurrentNativeState Tff7b72=Tff7b72= Te6edf3NativeStateTb4b4b4.Te6edf3RESUMED Tff7b72&Tff7b72&
Te6edf3mActivityTb4b4b4.Te6edf3mSDLThread Tff7b72=Tff7b72= Tff7b72null
Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
T8b949e// Because sometimes the app will get stuck here and never
T8b949e// actually run, ensure that it gets launched if we're active:
Te6edf3mActivityTb4b4b4.Te6edf3resumeNativeThreadTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonPreExecuteTb4b4b4(Tb4b4b4) Tb4b4b4{
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonProgressUpdateTb4b4b4(Te6edf3VoidTb4b4b4.Tb4b4b4.Tb4b4b4. Te6edf3valuesTb4b4b4) Tb4b4b4{
Tb4b4b4}
Tb4b4b4}

Tff7b72public Tff7b72static Te6edf3ViewGroup Td2a8ffgetLayoutTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3mLayoutTb4b4b4;
Tb4b4b4}

Tff7b72public Tff7b72static Te6edf3SurfaceView Td2a8ffgetSurfaceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3mSurfaceTb4b4b4;
Tb4b4b4}

T8b949e//----------------------------------------------------------------------------
T8b949e// Listener interface for onNewIntent
T8b949e//

Tff7b72public Tff7b72interface T56d364NewIntentListener Tb4b4b4{
Tffa657void Td2a8ffonNewIntentTb4b4b4(Te6edf3Intent Te6edf3intentTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72private Te6edf3ListTff7b72<Te6edf3NewIntentListenerTff7b72> Te6edf3newIntentListeners Tff7b72= Tff7b72nullTb4b4b4;

Tff7b72public Tffa657void Td2a8ffregisterNewIntentListenerTb4b4b4(Te6edf3NewIntentListener Te6edf3listenerTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3newIntentListeners Tff7b72=Tff7b72= Tff7b72null Tb4b4b4)
Tff7b72thisTb4b4b4.Te6edf3newIntentListeners Tff7b72= Te6edf3CollectionsTb4b4b4.Te6edf3synchronizedListTb4b4b4(Tff7b72new Te6edf3ArrayListTff7b72<Te6edf3NewIntentListenerTff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3newIntentListenersTb4b4b4.Te6edf3addTb4b4b4(Te6edf3listenerTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tffa657void Td2a8ffunregisterNewIntentListenerTb4b4b4(Te6edf3NewIntentListener Te6edf3listenerTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3newIntentListeners Tff7b72=Tff7b72= Tff7b72null Tb4b4b4)
Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3newIntentListenersTb4b4b4.Te6edf3removeTb4b4b4(Te6edf3listenerTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonNewIntentTb4b4b4(Te6edf3Intent Te6edf3intentTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3newIntentListeners Tff7b72=Tff7b72= Tff7b72null Tb4b4b4)
Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3onResumeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72synchronized Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3newIntentListeners Tb4b4b4) Tb4b4b4{
Te6edf3IteratorTff7b72<Te6edf3NewIntentListenerTff7b72> Te6edf3iterator Tff7b72= Tff7b72thisTb4b4b4.Te6edf3newIntentListenersTb4b4b4.Te6edf3iteratorTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72while Tb4b4b4( Te6edf3iteratorTb4b4b4.Te6edf3hasNextTb4b4b4(Tb4b4b4) Tb4b4b4) Tb4b4b4{
Tb4b4b4(Te6edf3iteratorTb4b4b4.Te6edf3nextTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3onNewIntentTb4b4b4(Te6edf3intentTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

T8b949e//----------------------------------------------------------------------------
T8b949e// Listener interface for onActivityResult
T8b949e//

Tff7b72public Tff7b72interface T56d364ActivityResultListener Tb4b4b4{
Tffa657void Td2a8ffonActivityResultTb4b4b4(Tffa657int Te6edf3requestCodeTb4b4b4, Tffa657int Te6edf3resultCodeTb4b4b4, Te6edf3Intent Te6edf3dataTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72private Te6edf3ListTff7b72<Te6edf3ActivityResultListenerTff7b72> Te6edf3activityResultListeners Tff7b72= Tff7b72nullTb4b4b4;

Tff7b72public Tffa657void Td2a8ffregisterActivityResultListenerTb4b4b4(Te6edf3ActivityResultListener Te6edf3listenerTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3activityResultListeners Tff7b72=Tff7b72= Tff7b72null Tb4b4b4)
Tff7b72thisTb4b4b4.Te6edf3activityResultListeners Tff7b72= Te6edf3CollectionsTb4b4b4.Te6edf3synchronizedListTb4b4b4(Tff7b72new Te6edf3ArrayListTff7b72<Te6edf3ActivityResultListenerTff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3activityResultListenersTb4b4b4.Te6edf3addTb4b4b4(Te6edf3listenerTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tffa657void Td2a8ffunregisterActivityResultListenerTb4b4b4(Te6edf3ActivityResultListener Te6edf3listenerTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3activityResultListeners Tff7b72=Tff7b72= Tff7b72null Tb4b4b4)
Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3activityResultListenersTb4b4b4.Te6edf3removeTb4b4b4(Te6edf3listenerTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonActivityResultTb4b4b4(Tffa657int Te6edf3requestCodeTb4b4b4, Tffa657int Te6edf3resultCodeTb4b4b4, Te6edf3Intent Te6edf3intentTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3activityResultListeners Tff7b72=Tff7b72= Tff7b72null Tb4b4b4)
Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3onResumeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72synchronized Tb4b4b4( Tff7b72thisTb4b4b4.Te6edf3activityResultListeners Tb4b4b4) Tb4b4b4{
Te6edf3IteratorTff7b72<Te6edf3ActivityResultListenerTff7b72> Te6edf3iterator Tff7b72= Tff7b72thisTb4b4b4.Te6edf3activityResultListenersTb4b4b4.Te6edf3iteratorTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72while Tb4b4b4( Te6edf3iteratorTb4b4b4.Te6edf3hasNextTb4b4b4(Tb4b4b4) Tb4b4b4)
Tb4b4b4(Te6edf3iteratorTb4b4b4.Te6edf3nextTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3onActivityResultTb4b4b4(Te6edf3requestCodeTb4b4b4, Te6edf3resultCodeTb4b4b4, Te6edf3intentTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tff7b72public Tff7b72static Tffa657void Td2a8ffstart_serviceTb4b4b4(
Te6edf3String Te6edf3serviceTitleTb4b4b4,
Te6edf3String Te6edf3serviceDescriptionTb4b4b4,
Te6edf3String Te6edf3pythonServiceArgument
Tb4b4b4) Tb4b4b4{
Te6edf3_do_start_serviceTb4b4b4(
Te6edf3serviceTitleTb4b4b4, Te6edf3serviceDescriptionTb4b4b4, Te6edf3pythonServiceArgumentTb4b4b4, Tff7b72true
Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tff7b72static Tffa657void Td2a8ffstart_service_not_as_foregroundTb4b4b4(
Te6edf3String Te6edf3serviceTitleTb4b4b4,
Te6edf3String Te6edf3serviceDescriptionTb4b4b4,
Te6edf3String Te6edf3pythonServiceArgument
Tb4b4b4) Tb4b4b4{
Te6edf3_do_start_serviceTb4b4b4(
Te6edf3serviceTitleTb4b4b4, Te6edf3serviceDescriptionTb4b4b4, Te6edf3pythonServiceArgumentTb4b4b4, Tff7b72false
Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tff7b72static Tffa657void Td2a8ff_do_start_serviceTb4b4b4(
Te6edf3String Te6edf3serviceTitleTb4b4b4,
Te6edf3String Te6edf3serviceDescriptionTb4b4b4,
Te6edf3String Te6edf3pythonServiceArgumentTb4b4b4,
Tffa657boolean Te6edf3showForegroundNotification
Tb4b4b4) Tb4b4b4{
Te6edf3Intent Te6edf3serviceIntent Tff7b72= Tff7b72new Te6edf3IntentTb4b4b4(Te6edf3PythonActivityTb4b4b4.Te6edf3mActivityTb4b4b4, Te6edf3PythonServiceTb4b4b4.Te6edf3classTb4b4b4)Tb4b4b4;
Te6edf3String Te6edf3argument Tff7b72= Te6edf3PythonActivityTb4b4b4.Te6edf3mActivityTb4b4b4.Te6edf3getFilesDirTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getAbsolutePathTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3String Te6edf3app_root_dir Tff7b72= Te6edf3PythonActivityTb4b4b4.Te6edf3mActivityTb4b4b4.Te6edf3getAppRootTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3String Te6edf3entry_point Tff7b72= Te6edf3PythonActivityTb4b4b4.Te6edf3mActivityTb4b4b4.Te6edf3getEntryPointTb4b4b4(Te6edf3app_root_dir Tff7b72+ Ta5d6ff"Ta5d6ff/serviceTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffandroidPrivateTa5d6ff"Tb4b4b4, Te6edf3argumentTb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffandroidArgumentTa5d6ff"Tb4b4b4, Te6edf3app_root_dirTb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffserviceEntrypointTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffservice/Ta5d6ff" Tff7b72+ Te6edf3entry_pointTb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffpythonNameTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffpythonTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffpythonHomeTa5d6ff"Tb4b4b4, Te6edf3app_root_dirTb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffpythonPathTa5d6ff"Tb4b4b4, Te6edf3app_root_dir Tff7b72+ Ta5d6ff"Ta5d6ff:Ta5d6ff" Tff7b72+ Te6edf3app_root_dir Tff7b72+ Ta5d6ff"Ta5d6ff/libTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffserviceStartAsForegroundTa5d6ff"Tb4b4b4,
Tb4b4b4(Te6edf3showForegroundNotification Tff7b72? Ta5d6ff"Ta5d6fftrueTa5d6ff" Tb4b4b4: Ta5d6ff"Ta5d6fffalseTa5d6ff"Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffserviceTitleTa5d6ff"Tb4b4b4, Te6edf3serviceTitleTb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffserviceDescriptionTa5d6ff"Tb4b4b4, Te6edf3serviceDescriptionTb4b4b4)Tb4b4b4;
Te6edf3serviceIntentTb4b4b4.Te6edf3putExtraTb4b4b4(Ta5d6ff"Ta5d6ffpythonServiceArgumentTa5d6ff"Tb4b4b4, Te6edf3pythonServiceArgumentTb4b4b4)Tb4b4b4;
Te6edf3PythonActivityTb4b4b4.Te6edf3mActivityTb4b4b4.Te6edf3startServiceTb4b4b4(Te6edf3serviceIntentTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tff7b72static Tffa657void Td2a8ffstop_serviceTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3Intent Te6edf3serviceIntent Tff7b72= Tff7b72new Te6edf3IntentTb4b4b4(Te6edf3PythonActivityTb4b4b4.Te6edf3mActivityTb4b4b4, Te6edf3PythonServiceTb4b4b4.Te6edf3classTb4b4b4)Tb4b4b4;
Te6edf3PythonActivityTb4b4b4.Te6edf3mActivityTb4b4b4.Te6edf3stopServiceTb4b4b4(Te6edf3serviceIntentTb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e/** Loading screen view **/
Tff7b72public Tff7b72static Te6edf3ImageView Te6edf3mImageView Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72public Tff7b72static Te6edf3View Te6edf3mLottieView Tff7b72= Tff7b72nullTb4b4b4;
T8b949e/** Whether main routine/actual app has started yet **/
Tff7b72protected Tffa657boolean Te6edf3mAppConfirmedActive Tff7b72= Tff7b72falseTb4b4b4;
T8b949e/** Timer for delayed loading screen removal. **/
Tff7b72protected Te6edf3Timer Te6edf3loadingScreenRemovalTimer Tff7b72= Tff7b72nullTb4b4b4;

T8b949e// Overridden since it's called often, to check whether to remove the
T8b949e// loading screen:
Tf0883e@Override
Tff7b72protected Tffa657boolean Td2a8ffsendCommandTb4b4b4(Tffa657int Te6edf3commandTb4b4b4, Te6edf3Object Te6edf3dataTb4b4b4) Tb4b4b4{
Tffa657boolean Te6edf3result Tff7b72= Tff7b72superTb4b4b4.Te6edf3sendCommandTb4b4b4(Te6edf3commandTb4b4b4, Te6edf3dataTb4b4b4)Tb4b4b4;
Te6edf3considerLoadingScreenRemovalTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3resultTb4b4b4;
Tb4b4b4}
T8b949e/** Confirm that the app's main routine has been launched.
**/
Tf0883e@Override
Tff7b72public Tffa657void Td2a8ffappConfirmedActiveTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3mAppConfirmedActiveTb4b4b4) Tb4b4b4{
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffappConfirmedActive() -> preparing loading screen removalTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3mAppConfirmedActive Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3considerLoadingScreenRemovalTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}

T8b949e/** This is called from various places to check whether the app's main
* routine has been launched already, and if it has, then the loading
* screen will be removed.
**/
Tff7b72public Tffa657void Td2a8ffconsiderLoadingScreenRemovalTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3loadingScreenRemovalTimer Tff7b72!Tff7b72= Tff7b72nullTb4b4b4)
Tff7b72returnTb4b4b4;
Te6edf3runOnUiThreadTb4b4b4(Tff7b72new Te6edf3RunnableTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72public Tffa657void Td2a8ffrunTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tb4b4b4(Tb4b4b4(Te6edf3PythonActivityTb4b4b4)Te6edf3PythonActivityTb4b4b4.Te6edf3mSingletonTb4b4b4)Tb4b4b4.Te6edf3mAppConfirmedActive Tff7b72&Tff7b72&
Te6edf3loadingScreenRemovalTimer Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
T8b949e// Remove loading screen but with a delay.
T8b949e// (app can use p4a's android.loadingscreen module to
T8b949e// do it quicker if it wants to)
T8b949e// get a handler (call from main thread)
T8b949e// this will run when timer elapses
Te6edf3TimerTask Te6edf3removalTask Tff7b72= Tff7b72new Te6edf3TimerTaskTb4b4b4(Tb4b4b4) Tb4b4b4{
Tf0883e@Override
Tff7b72public Tffa657void Td2a8ffrunTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// post a runnable to the handler
Te6edf3runOnUiThreadTb4b4b4(Tff7b72new Te6edf3RunnableTb4b4b4(Tb4b4b4) Tb4b4b4{
Tf0883e@Override
Tff7b72public Tffa657void Td2a8ffrunTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3PythonActivity Te6edf3activity Tff7b72=
Tb4b4b4(Tb4b4b4(Te6edf3PythonActivityTb4b4b4)Te6edf3PythonActivityTb4b4b4.Te6edf3mSingletonTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3activity Tff7b72!Tff7b72= Tff7b72nullTb4b4b4)
Te6edf3activityTb4b4b4.Te6edf3removeLoadingScreenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4;
Te6edf3loadingScreenRemovalTimer Tff7b72= Tff7b72new Te6edf3TimerTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3loadingScreenRemovalTimerTb4b4b4.Te6edf3scheduleTb4b4b4(Te6edf3removalTaskTb4b4b4, T79c0ff5000Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tffa657void Td2a8ffremoveLoadingScreenTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3runOnUiThreadTb4b4b4(Tff7b72new Te6edf3RunnableTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72public Tffa657void Td2a8ffrunTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3View Te6edf3view Tff7b72= Te6edf3mLottieView Tff7b72!Tff7b72= Tff7b72null Tff7b72? Te6edf3mLottieView Tb4b4b4: Te6edf3mImageViewTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3view Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3viewTb4b4b4.Te6edf3getParentTb4b4b4(Tb4b4b4) Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tb4b4b4(Tb4b4b4(Te6edf3ViewGroupTb4b4b4)Te6edf3viewTb4b4b4.Te6edf3getParentTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3removeViewTb4b4b4(Te6edf3viewTb4b4b4)Tb4b4b4;
Te6edf3mLottieView Tff7b72= Tff7b72nullTb4b4b4;
Te6edf3mImageView Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Te6edf3String Td2a8ffgetEntryPointTb4b4b4(Te6edf3String Te6edf3search_dirTb4b4b4) Tb4b4b4{
T8b949e/* Get the main file (.pyc|.py) depending on if we
* have a compiled version or not.
*/
Te6edf3ListTff7b72<Te6edf3StringTff7b72> Te6edf3entryPoints Tff7b72= Tff7b72new Te6edf3ArrayListTff7b72<Te6edf3StringTff7b72>Tb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3entryPointsTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff"Ta5d6ffmain.pycTa5d6ff"Tb4b4b4)Tb4b4b4; T8b949e// python 3 compiled files
Tff7b72for Tb4b4b4(Te6edf3String Te6edf3value Tb4b4b4: Te6edf3entryPointsTb4b4b4) Tb4b4b4{
Te6edf3File Te6edf3mainFile Tff7b72= Tff7b72new Te6edf3FileTb4b4b4(Te6edf3search_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3valueTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3mainFileTb4b4b4.Te6edf3existsTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3valueTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Ta5d6ff"Ta5d6ffmain.pyTa5d6ff"Tb4b4b4;
Tb4b4b4}

Tff7b72protected Tffa657void Td2a8ffshowLoadingScreenTb4b4b4(Te6edf3View Te6edf3viewTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3mLayout Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3setContentViewTb4b4b4(Te6edf3viewTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3viewTb4b4b4.Te6edf3getParentTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3mLayoutTb4b4b4.Te6edf3addViewTb4b4b4(Te6edf3viewTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3IllegalStateException Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// The loading screen can be attempted to be applied twice if app
T8b949e// is tabbed in/out, quickly.
T8b949e// (Gives error "The specified child already has a parent.
T8b949e// You must call removeView() on the child's parent first.")
Tb4b4b4}
Tb4b4b4}

Tff7b72protected Tffa657void Td2a8ffsetBackgroundColorTb4b4b4(Te6edf3View Te6edf3viewTb4b4b4) Tb4b4b4{
T8b949e/*
* Set the presplash loading screen background color
* https://developer.android.com/reference/android/graphics/Color.html
* Parse the color string, and return the corresponding color-int.
* If the string cannot be parsed, throws an IllegalArgumentException exception.
* Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
* 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow',
* 'lightgray', 'darkgray', 'grey', 'lightgrey', 'darkgrey', 'aqua', 'fuchsia',
* 'lime', 'maroon', 'navy', 'olive', 'purple', 'silver', 'teal'.
*/
Te6edf3String Te6edf3backgroundColor Tff7b72= Te6edf3resourceManagerTb4b4b4.Te6edf3getStringTb4b4b4(Ta5d6ff"Ta5d6ffpresplash_colorTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3backgroundColor Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3viewTb4b4b4.Te6edf3setBackgroundColorTb4b4b4(Te6edf3ColorTb4b4b4.Te6edf3parseColorTb4b4b4(Te6edf3backgroundColorTb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3IllegalArgumentException Te6edf3eTb4b4b4) Tb4b4b4{Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tff7b72protected Te6edf3View Td2a8ffgetLoadingScreenTb4b4b4(Tb4b4b4) Tb4b4b4{
T8b949e// If we have an mLottieView or mImageView already, then do
T8b949e// nothing because it will have already been made the content
T8b949e// view or added to the layout.
Tff7b72if Tb4b4b4(Te6edf3mLottieView Tff7b72!Tff7b72= Tff7b72null Tff7b72|Tff7b72| Te6edf3mImageView Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
T8b949e// we already have a splash screen
Tff7b72return Te6edf3mLottieView Tff7b72!Tff7b72= Tff7b72null Tff7b72? Te6edf3mLottieView Tb4b4b4: Te6edf3mImageViewTb4b4b4;
Tb4b4b4}

T8b949e// first try to load the lottie one
Tff7b72try Tb4b4b4{
Te6edf3mLottieView Tff7b72= Te6edf3getLayoutInflaterTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3inflateTb4b4b4(
Tff7b72thisTb4b4b4.Te6edf3resourceManagerTb4b4b4.Te6edf3getIdentifierTb4b4b4(Ta5d6ff"Ta5d6fflottieTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fflayoutTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3mLayoutTb4b4b4,
Tff7b72false
Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3mLayout Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3setContentViewTb4b4b4(Te6edf3mLottieViewTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3PythonActivityTb4b4b4.Te6edf3mLottieViewTb4b4b4.Te6edf3getParentTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3mLayoutTb4b4b4.Te6edf3addViewTb4b4b4(Te6edf3mLottieViewTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3IllegalStateException Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// The loading screen can be attempted to be applied twice if app
T8b949e// is tabbed in/out, quickly.
T8b949e// (Gives error "The specified child already has a parent.
T8b949e// You must call removeView() on the child's parent first.")
Tb4b4b4}
Te6edf3setBackgroundColorTb4b4b4(Te6edf3mLottieViewTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3mLottieViewTb4b4b4;
Tb4b4b4}
Tff7b72catch Tb4b4b4(Te6edf3NotFoundException Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Ta5d6ff"Ta5d6ffSDLTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffcouldn't find lottie layout or animation, trying static splashTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e// no lottie asset, try to load the static image then
Tffa657int Te6edf3presplashId Tff7b72= Tff7b72thisTb4b4b4.Te6edf3resourceManagerTb4b4b4.Te6edf3getIdentifierTb4b4b4(Ta5d6ff"Ta5d6ffpresplashTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffdrawableTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3InputStream Te6edf3is Tff7b72= Tff7b72thisTb4b4b4.Te6edf3getResourcesTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3openRawResourceTb4b4b4(Te6edf3presplashIdTb4b4b4)Tb4b4b4;
Te6edf3Bitmap Te6edf3bitmap Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3bitmap Tff7b72= Te6edf3BitmapFactoryTb4b4b4.Te6edf3decodeStreamTb4b4b4(Te6edf3isTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72try Tb4b4b4{
Te6edf3isTb4b4b4.Te6edf3closeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3IOException Te6edf3eTb4b4b4) Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tb4b4b4}

Te6edf3mImageView Tff7b72= Tff7b72new Te6edf3ImageViewTb4b4b4(Tff7b72thisTb4b4b4)Tb4b4b4;
Te6edf3mImageViewTb4b4b4.Te6edf3setImageBitmapTb4b4b4(Te6edf3bitmapTb4b4b4)Tb4b4b4;
Te6edf3setBackgroundColorTb4b4b4(Te6edf3mImageViewTb4b4b4)Tb4b4b4;

Te6edf3mImageViewTb4b4b4.Te6edf3setLayoutParamsTb4b4b4(Tff7b72new Te6edf3ViewGroupTb4b4b4.Te6edf3LayoutParamsTb4b4b4(
Te6edf3ViewGroupTb4b4b4.Te6edf3LayoutParamsTb4b4b4.Te6edf3FILL_PARENTTb4b4b4,
Te6edf3ViewGroupTb4b4b4.Te6edf3LayoutParamsTb4b4b4.Te6edf3FILL_PARENTTb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3mImageViewTb4b4b4.Te6edf3setScaleTypeTb4b4b4(Te6edf3ImageViewTb4b4b4.Te6edf3ScaleTypeTb4b4b4.Te6edf3FIT_CENTERTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3mImageViewTb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonPauseTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mWakeLock Tff7b72!Tff7b72= Tff7b72null Tff7b72&Tff7b72& Te6edf3mWakeLockTb4b4b4.Te6edf3isHeldTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3mWakeLockTb4b4b4.Te6edf3releaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72thisTb4b4b4.Te6edf3activityPaused Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffonPause()Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72superTb4b4b4.Te6edf3onPauseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3UnsatisfiedLinkError Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// Catch pause while still in loading screen failing to
T8b949e// call native function (since it's not yet loaded)
Tb4b4b4}
Tb4b4b4}

Tf0883e@Override
Tff7b72protected Tffa657void Td2a8ffonResumeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3mWakeLock Tff7b72!Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3mWakeLockTb4b4b4.Te6edf3acquireTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3activityPaused Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffonResume() in PythonActivityTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72superTb4b4b4.Te6edf3onResumeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3UnsatisfiedLinkError Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// Catch resume while still in loading screen failing to
T8b949e// call native function (since it's not yet loaded)
Tb4b4b4}
Te6edf3considerLoadingScreenRemovalTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72public Tffa657void Td2a8ffonWindowFocusChangedTb4b4b4(Tffa657boolean Te6edf3hasFocusTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72superTb4b4b4.Te6edf3onWindowFocusChangedTb4b4b4(Te6edf3hasFocusTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3UnsatisfiedLinkError Te6edf3eTb4b4b4) Tb4b4b4{
T8b949e// Catch window focus while still in loading screen failing to
T8b949e// call native function (since it's not yet loaded)
Tb4b4b4}
Te6edf3considerLoadingScreenRemovalTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e/**
* Used by android.permissions p4a module to register a call back after
* requesting runtime permissions
**/
Tff7b72public Tff7b72interface T56d364PermissionsCallback Tb4b4b4{
Tffa657void Td2a8ffonRequestPermissionsResultTb4b4b4(Tffa657int Te6edf3requestCodeTb4b4b4, Te6edf3StringTff7b72[Tff7b72] Te6edf3permissionsTb4b4b4, Tffa657intTff7b72[Tff7b72] Te6edf3grantResultsTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72private Te6edf3PermissionsCallback Te6edf3permissionCallbackTb4b4b4;
Tff7b72private Tffa657boolean Te6edf3havePermissionsCallback Tff7b72= Tff7b72falseTb4b4b4;

Tff7b72public Tffa657void Td2a8ffaddPermissionsCallbackTb4b4b4(Te6edf3PermissionsCallback Te6edf3callbackTb4b4b4) Tb4b4b4{
Te6edf3permissionCallback Tff7b72= Te6edf3callbackTb4b4b4;
Te6edf3havePermissionsCallback Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffaddPermissionsCallback(): Added callback for onRequestPermissionsResultTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tf0883e@Override
Tff7b72public Tffa657void Td2a8ffonRequestPermissionsResultTb4b4b4(Tffa657int Te6edf3requestCodeTb4b4b4, Te6edf3StringTff7b72[Tff7b72] Te6edf3permissionsTb4b4b4, Tffa657intTff7b72[Tff7b72] Te6edf3grantResultsTb4b4b4) Tb4b4b4{
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffonRequestPermissionsResult()Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3havePermissionsCallbackTb4b4b4) Tb4b4b4{
Te6edf3LogTb4b4b4.Te6edf3vTb4b4b4(Te6edf3TAGTb4b4b4, Ta5d6ff"Ta5d6ffonRequestPermissionsResult passed to callbackTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3permissionCallbackTb4b4b4.Te6edf3onRequestPermissionsResultTb4b4b4(Te6edf3requestCodeTb4b4b4, Te6edf3permissionsTb4b4b4, Te6edf3grantResultsTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72superTb4b4b4.Te6edf3onRequestPermissionsResultTb4b4b4(Te6edf3requestCodeTb4b4b4, Te6edf3permissionsTb4b4b4, Te6edf3grantResultsTb4b4b4)Tb4b4b4;
Tb4b4b4}

T8b949e/**
* Used by android.permissions p4a module to check a permission
**/
Tff7b72public Tffa657boolean Td2a8ffcheckCurrentPermissionTb4b4b4(Te6edf3String Te6edf3permissionTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3androidTb4b4b4.Te6edf3osTb4b4b4.Te6edf3BuildTb4b4b4.Te6edf3VERSIONTb4b4b4.Te6edf3SDK_INT Tff7b72< T79c0ff23Tb4b4b4)
Tff7b72return Tff7b72trueTb4b4b4;

Tff7b72try Tb4b4b4{
Te6edf3javaTb4b4b4.Te6edf3langTb4b4b4.Te6edf3reflectTb4b4b4.Te6edf3Method Te6edf3methodCheckPermission Tff7b72=
Te6edf3ActivityTb4b4b4.Te6edf3classTb4b4b4.Te6edf3getMethodTb4b4b4(Ta5d6ff"Ta5d6ffcheckSelfPermissionTa5d6ff"Tb4b4b4, Te6edf3StringTb4b4b4.Te6edf3classTb4b4b4)Tb4b4b4;
Te6edf3Object Te6edf3resultObj Tff7b72= Te6edf3methodCheckPermissionTb4b4b4.Te6edf3invokeTb4b4b4(Tff7b72thisTb4b4b4, Te6edf3permissionTb4b4b4)Tb4b4b4;
Tffa657int Te6edf3result Tff7b72= Te6edf3IntegerTb4b4b4.Te6edf3parseIntTb4b4b4(Te6edf3resultObjTb4b4b4.Te6edf3toStringTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3result Tff7b72=Tff7b72= Te6edf3PackageManagerTb4b4b4.Te6edf3PERMISSION_GRANTEDTb4b4b4)
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3IllegalAccessException Tff7b72| Te6edf3NoSuchMethodException Tff7b72|
Te6edf3InvocationTargetException Te6edf3eTb4b4b4) Tb4b4b4{
Tb4b4b4}
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}

T8b949e/**
* Used by android.permissions p4a module to request runtime permissions
**/
Tff7b72public Tffa657void Td2a8ffrequestPermissionsWithRequestCodeTb4b4b4(Te6edf3StringTff7b72[Tff7b72] Te6edf3permissionsTb4b4b4, Tffa657int Te6edf3requestCodeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3androidTb4b4b4.Te6edf3osTb4b4b4.Te6edf3BuildTb4b4b4.Te6edf3VERSIONTb4b4b4.Te6edf3SDK_INT Tff7b72< T79c0ff23Tb4b4b4)
Tff7b72returnTb4b4b4;
Tff7b72try Tb4b4b4{
Te6edf3javaTb4b4b4.Te6edf3langTb4b4b4.Te6edf3reflectTb4b4b4.Te6edf3Method Te6edf3methodRequestPermission Tff7b72=
Te6edf3ActivityTb4b4b4.Te6edf3classTb4b4b4.Te6edf3getMethodTb4b4b4(Ta5d6ff"Ta5d6ffrequestPermissionsTa5d6ff"Tb4b4b4,
Te6edf3StringTff7b72[Tff7b72]Tb4b4b4.Te6edf3classTb4b4b4, Tffa657intTb4b4b4.Te6edf3classTb4b4b4)Tb4b4b4;
Te6edf3methodRequestPermissionTb4b4b4.Te6edf3invokeTb4b4b4(Tff7b72thisTb4b4b4, Te6edf3permissionsTb4b4b4, Te6edf3requestCodeTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3IllegalAccessException Tff7b72| Te6edf3NoSuchMethodException Tff7b72|
Te6edf3InvocationTargetException Te6edf3eTb4b4b4) Tb4b4b4{
Tb4b4b4}
Tb4b4b4}

Tff7b72public Tffa657void Td2a8ffrequestPermissionsTb4b4b4(Te6edf3StringTff7b72[Tff7b72] Te6edf3permissionsTb4b4b4) Tb4b4b4{
Te6edf3requestPermissionsWithRequestCodeTb4b4b4(Te6edf3permissionsTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72public Tff7b72static Tffa657void Td2a8ffchangeKeyboardTb4b4b4(Tffa657int Te6edf3inputTypeTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3SDLActivityTb4b4b4.Te6edf3keyboardInputType Tff7b72!Tff7b72= Te6edf3inputTypeTb4b4b4)Tb4b4b4{
Te6edf3SDLActivityTb4b4b4.Te6edf3keyboardInputType Tff7b72= Te6edf3inputTypeTb4b4b4;
Te6edf3InputMethodManager Te6edf3imm Tff7b72= Tb4b4b4(Te6edf3InputMethodManagerTb4b4b4) Te6edf3getContextTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3getSystemServiceTb4b4b4(Te6edf3ContextTb4b4b4.Te6edf3INPUT_METHOD_SERVICETb4b4b4)Tb4b4b4;
Te6edf3immTb4b4b4.Te6edf3restartInputTb4b4b4(Te6edf3mTextEditTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────